package com.permissionmanager.common;

import lombok.*;

/**
 * 统一返回包装类
 *
 */
@Data
@AllArgsConstructor // 有参
@NoArgsConstructor // 无参
@Builder // 链式创建
public class Result {
    public static final String CODE_SUCCESS = "200"; // 请求成功
    public static final String CODE_AUTO_ERROR = "401"; // 没有请求权限
    public  static final String CODE_SYS_ERROR = "500"; // 服务器错误
    public  static final String WARNING_ERROR = "600"; // 警告错误

    private String code; // 请求编码
    private String msg; // 错误信息
    private Object data; // 返回数据

    // 成功
    public static Result success(){
        return Result.builder().code(CODE_SUCCESS).msg("请求成功").build(); // 链式创建返回信息
    }
    public static Result success(Object data){
        return new Result(CODE_SUCCESS,"请求成功",data);
    }

    // 警告
    public static Result warn_error(String msg){
        return new Result(WARNING_ERROR,msg,null);
    }

    // 错误
    public static Result error(String msg){
        return new Result(CODE_SYS_ERROR,msg,null);
    }
    public static Result error(){
        return new Result(CODE_SYS_ERROR,"系统错误",null);
    }

    public static Result error(String code, String msg){
        return new Result(code,msg,null);
    }

    public static Result error(Object data){
        return new Result(CODE_SYS_ERROR,"数据错误",data);
    }
}